All classes must have a public primary key property. A primary key can be an integer or a long. Primary keys are non nullable. Primary keys are automatically indexed and auto incremented. Primary keys that are zero are considered inserts. Primary keys that are greater than zero are considered updates. Primary keys that are less than zero are invalid. Primary keys must have a specific naming convention. A primary key can be either Id, or the Table Name ending with Id, or with an attribute of PrimaryKey. It is fine to have other properties with Id at the end of the name that are not the primary key.
Examples of valid primary keys for a class called Customer
//Primary Key Examples
public int CustomerId { get; set;}
public int Id { get; set;}
[PrimaryKey]
public long CID { get; set;}
//Not a primary key
public int RegionId { get; set;}